make what you need

From IndieWeb

Make what you need is an IndieWeb principle that helps creators focus on creating & publishing things prioritized by what they need & want for their own personal site.

Why

Get started faster. What do you really need now? You can quickly start working on what you think you need, and in the process of creating you will better understand what you really need.

Motivates practical thinking. By focusing on making what you need, it constrains what you think you need with the practical limits of time, ability, and cost, thus forcing you to come up with a more efficient design than you likely thought you needed originally.

You exist. If you design tools for some hypothetical user, they may not actually exist; if you make tools for yourself, you actually do exist. Make tools for yourself first, not for all of your friends or ”everyoneβ€œ.

More immediate benefits. By making something that satisfies your needs, and is backwards compatible for others, e.g. by practicing POSSE, you benefit immediately, without having to convince anyone else. If and when others join, you all benefit.

If you don't build it, you're just talking theory. If you design/architect etc. without building, you'll likely come up with ever higher level abstractions, AKA the architecture astronomy anti-pattern. That being said, it's helpful to publicly brainstorm what you're thinking of building because others can review, provide feedback, help you simplify, etc.

Metaphors

The following metaphors may also be help explain this principle, depending on which resonate the most with folks:

Cook what you want

Main article: cook what you want

Cook what you want is the counterpart (preceding) to eat what you cook, and a metaphor that may appeal to people who like to cook their own meals.

Grow what you need

Grow what you need is a metaphor perhaps more appealing to gardeners, who have experience with growing plants for their own needs & desires.

Example:

Scratch Your Own Itch

Scratch your own itch was the previous expression of this principle, but as a metaphor.

Perspectives

  • If I make software for [someone else], am I ever going to rely on it? Unlikely
    If I make software which solves my own problems in a useful way, might others find it useful? Much more likely. - Barnaby Walters (2013-08-21 in iRC)
  • "Another shift happened a few years ago, when I decided it was okay to develop just for myself, with no intention of ever releasing the stuff I was working on. That led to a new style of product, and a happier developer. I was always doing it for myself, and fooling myself into believing it was for other people. I'm no less a narcissist than anyone else. Once you own that, you get a lot more powerful I have found. πŸš€" - Dave Winer on 2017-08-07
  • https://sunbeam.city/@tty/109609398383715803
    • "Sometimes it feels like corporations kind of tricked open source & free software & even anarchist developers into thinking they had to build world-scale software as well.It's ok to build something small that just works well for you, your friends, your community. (In fact, building that way is probably more resistant to corporation exploitation.)" @tty December 31, 2022

Quotes

Perhaps not specific precisely to this principle, yet focuses on making something that is simpler and usable (at least for you)

  • 2021-12-17 David Heinemeier Hansson: That shipping feeling

    … a tech demo isn't shipping. And shipping is what counts

FAQ

Content updates but no commits

Would a site that is regularly updated with posts but not have commits for a while still qualify as making what you need?

A: Maybe. At some point if there are no creative (code, UX, design) commits by the self-identified primary user of said site, then they've shifted from making and using (which requires a creation/use feedback loop) to only being a user. Eventually, after "a while" of no making, there’s no making what you need.

Brainstorming

Expand from you to others

There's a pathway from "make what you need" to "make what you & your close ones need" to "make what you & your community(s) need" that would be worth documenting / exploring.

The goal is to make real pragmatic progress, in close enough proximity that you can tell that what you’re making is having a positive impact on close circles expanding outwards, without falling into the mass adoption antipattern / trap.

Consider simplifying your software and libraries for easier use by others.

Be aware of what features you've built for yourself that may be confusing or not useful to others, and consider making a switch to turn off those features, or turning them off by default.

See also: cook_what_you_want#Expanding_to_include_others

See Also